/***
 ** 与外部容器约定接收消息的Api方法
 **/
import Cookies from 'js-cookie'

import constant from './constant'

/**
 * 接收来自容器的消息
 * @param isInFrame 是否是在一个 iframe 中
 * @param token 登录态的 token
 */
export function receiveParentMsg() {

  //子页面监听父页面传递来的数据进行处理
  window.addEventListener("message", function(params) {

    if(params.data) {

      console.log(params.data)
      if(params.data.isInFrame) {

        Cookies.set(constant.inFrameKey,params.data.isInFrame);
      }
      if(params.data.token) {

        Cookies.set(constant.TokenKey,params.data.token);
      }
    }
  }, false);
}

/**
 * 获取当前是否在 iframe 中
 * @returns {string|boolean}
 */
export function isInFrame() {
  if(window.__POWERED_BY_QIANKUN__)
    return true;
  return Cookies.get(constant.inFrameKey) || false;
}


/**
 * 是否在基座应用中
 * @returns {*|boolean}
 */
export function inSubstrate() {
  if(window.__POWERED_BY_QIANKUN__)
    return true;
  return false;
}
